const app = getApp()

import {
  getVideoCategory,
  getVideoList,
} from '../../../api/mate'

Page({

  // 页面的初始数据
  data: {
    // 导航
    tab: {},

    // 搜索选项
    search: {
      page: 1,
      limit: 20,
      category: '0',
    },

    emptyData: false, // 没有内容
    noData: false, // 内容加载完毕
    loading: false, // 加载中
    list: [], // 视频列表

  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.getVideoCategory() // 获取视频导航
    this.getVideoList() // 获取视频列表
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    this.data.noData = false
    this.data.emptyData = false
    this.data.search.page = 1
    this.data.list = []
    this.setData({
      list: this.data.list,
      noData: this.data.noData,
      emptyData: this.data.emptyData
    })
    this.getVideoCategory() // 获取视频导航
    this.getVideoList() // 获取视频列表
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    if (!this.data.noData) {
      this.data.search.page++
      this.getVideoList() // 获取视频列表
    }
  },

  // ####################################################################################################
  // # 基础功能 方法
  // ####################################################################################################

  // 标签切换
  onChange(event) {
    this.data.list = []
    this.data.noData = false
    this.data.emptyData = false
    this.setData({
      list: this.data.list,
      noData: this.data.noData,
      emptyData: this.data.emptyData
    })
    this.data.search.page = 1

    let videoType = event.detail.name
    this.data.search.category = videoType === this.data.tab.list[0].name ? '0' : videoType

    this.getVideoList()
  },

  // 查看视频

  // ####################################################################################################
  // # 接口访问 方法
  // ####################################################################################################

  // 获取视频导航
  getVideoCategory() {
    getVideoCategory().then(res => {
      if (res.code === 200) {
        this.data.tab = res.data
        this.setData({
          tab: this.data.tab
        })
      } else {
        app.showToast(res.msg)
      }
    })
  },

  // 获取视频列表
  getVideoList() {
    this.setData({
      loading: true
    })
    getVideoList(this.data.search).then(res => {
      if (res.code == 200) {
        // 判断是否需要登录
        if (res.msg == 'needlogin') {
          wx.navigateTo({
            url: "/pages/user/login/login"
          })
          return false
        }
        let count = res.data.list.length
        let list = res.data.list
        if (count) {
          this.data.noData = false
          this.data.emptyData = false
          for (let i = 0; i < count; i++)
            this.data.list.push(list[i])
        } else {
          this.data.noData = true
          if (this.data.search.page == 1)
            this.data.emptyData = true
        }
        this.setData({
          list: this.data.list,
          noData: this.data.noData,
          emptyData: this.data.emptyData
        })
      } else {
        app.showToast(res.msg)
      }
      this.setData({
        loading: false
      })
      wx.stopPullDownRefresh()
    })
  },



})